home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Diamond Collection
/
The Diamond Collection (Software Vault)(Digital Impact).ISO
/
cdr48
/
386p_200.zip
/
QUICKFIX.TXT
< prev
next >
Wrap
Text File
|
1995-01-15
|
3KB
|
68 lines
HOW TO QUICKLY MIGRATE TO ANOTHER DOS-EXTENDER:
I devenloped the 386Power DOS-EXTENDER for myself
so i suited it to my needs, and updated and improved it gradually
(nearly just for fun).
The current release is improved if compared to the previous ones
but still has its limitation.
My main interests are in graphics/audio and game programming
not into coding dos-extenders.
Because of this i made the current "dos-extender interface"
designed to be quickly portable.
The XGE library ( that big pack of useful routines for graphics
and "gaming") can be quickly migrated to ANOTHER dos-extender, let's see how:
ALL the library code assumes is that there are TWO code segments
a 16bit segment called code16 (used directly just by the 386timer
and 386keyb code)
and a big 32bit segment called code32.
STARTING from code32 offset zero there is a "table" of pointers and variables
that are the "real" dos-extender interface.
If you wan to use another dos-extender, just code an "interface" module
that sets up a big 32bit segment called code32 and has the same
"segment head" of the 386Power code32
(the variables and pointers that HAVE to be into the beginning of code32
are "listed" into the head32.inc header)
(head32.inc contains the "interface definitions" that let EXTERNAL DRIVERS
to be "linked in" into a 386Powered :) program).
Once you do this and add to the "interface" module the routines pointed
by the pointers declared into the "header", you are ok and ready to run.
This migration is made easier if you can use a dos-extender with a standard
DPMI interface ("a DPMI server")
If you can do this, you just have "turn on" the DPMI interface
and then jump to the Boot16 label into 386power.asm
[the 386Power starting point]. (
Remember to change the "startup directive" located at the end of 386power.asm
from Boot16 to "what is it".
For example:
Currently you will see at the end of 386Power.asm the following:
....
; Boot16 is program starting point
end Boot16
To make the "DPMI loader" start first, simply do the following:
dpmi_server_wakeup:
call Initialize_external_DPMI_server
jmp Boot16
.....
.....
; dpmi_server_wakeup is "new" starting point
end dpmi_server_wake
TRAN'S NEWER DOS-EXTENDERS (the newest i know is pmode307.zip and you can
find it in the internet ftp site called x2ftp.oulu.fi)
ARE DPMI SERVERS!!!
So if you prefer Tran's dos-extenders
(after all, Tran is the dos-extender expert) you can migrate to it
by including its code into 386power.asm and adding three lines!!!!
[ Uhm! If i remember well, the irq reflection under VCPI/XSM/"raw 386"
with Tran's dos-extender DOES NOT automatically reflects IRQs
from real-mode to protected mode, this will be up to you
( using the "callback" functions) ]